using System;

namespace GeoFramework.Gps
{

	/// <summary>
	/// Facilitates events and asynchronous calls which use a <strong>FixMethod</strong>
	/// value as a parameter.
	/// </summary>
	/// <example>
	/// This example declares a custom event using this delegate.
	/// <code lang="VB">
	/// Dim MyFixMethodEvent As FixMethodEventHandler
	/// </code>
	/// <code lang="C#">
	/// FixMethodEventHandler MyFixMethodEvent;
	/// </code>
	/// </example>
	/// <param name="sender">The object which initiated the call to the delegate.</param>
	/// <param name="e">A <see cref="FixMethodEventArgs">FixMethodEventArgs</see> object containing a <see cref="FixMethod">FixMethod</see> value involved in the event.</param>
	public delegate void FixMethodEventHandler(object sender, FixMethodEventArgs e);
	/// <summary>
	/// Facilitates events and asynchronous calls which use a <strong>FixLikelihood</strong>
	/// value as a parameter.
	/// </summary>
	/// <example>
	/// This example declares a custom event using this delegate.
	/// <code lang="VB">
	/// Dim MyFixLikelihoodEvent As FixLikelihoodEventHandler
	/// </code>
	/// <code lang="C#">
	/// FixLikelihoodEventHandler MyFixLikelihoodEvent;
	/// </code>
	/// </example>
	/// <param name="sender">The object which initiated the call to the delegate.</param>
	/// <param name="e">A <see cref="FixLikelihoodEventArgs">FixLikelihoodEventArgs</see> object containing a <see cref="FixLikelihood">FixLikelihood</see> value involved in the event.</param>
	public delegate void FixLikelihoodEventHandler(object sender, FixLikelihoodEventArgs e);

	/// <summary>
	/// Facilitates events and asynchronous calls which use an <strong>FixMode</strong>
	/// value as a parameter.
	/// </summary>
	/// <example>
	/// This example declares a custom event using this delegate.
	/// <code lang="VB">
	/// Dim MyFixModeEvent As FixModeEventHandler
	/// </code>
	/// <code lang="C#">
	/// FixModeEventHandler MyFixModeEvent;
	/// </code>
	/// </example>
	/// <param name="sender">The object which initiated the call to the delegate.</param>
	/// <param name="e">A <see cref="FixModeEventArgs">FixModeEventArgs</see> object containing a <see cref="FixMode">FixMode</see> value involved in the event.</param>
	public delegate void FixModeEventHandler(object sender, FixModeEventArgs e);

	/// <summary>
	/// Facilitates events and asynchronous calls which use an
	/// <strong>FixQuality</strong> value as a parameter.
	/// </summary>
	/// <example>
	/// This example declares a custom event using this delegate.
	/// <code lang="VB">
	/// Dim MyFixQualityEvent As FixQualityEventHandler
	/// </code>
	/// <code lang="C#">
	/// FixQualityEventHandler MyFixQualityEvent;
	/// </code>
	/// </example>
	/// <param name="sender">The object which initiated the call to the delegate.</param>
	/// <param name="e">A <see cref="FixQualityEventArgs">FixQualityEventArgs</see> object containing a <see cref="FixQuality">FixQuality</see> value involved in the event.</param>
	public delegate void FixQualityEventHandler(object sender, FixQualityEventArgs e);

}